#ifndef __PHYSIC_OBJECT_H__
#define __PHYSIC_OBJECT_H__

#include "../Global.h"
#include "PhysicDefine.h"

class PhysicObject;


class ContactSolver
{
public:
	virtual void		beginContact		( PhysicObject* pObject_1 , PhysicObject* pObject_2 ){ };
};

class PhysicObject
{
public:
	PhysicObject( );
	virtual ~PhysicObject( );

	void				initWithObject		( CCNode* pObject , PhysicObjectType type);
	void				checkCollision		( PhysicObject* pContact );

	CREATE_SET_GET( PhysicObjectType , m_tType , Type );

	inline
	CCNode*				getObjectRef		( )
	{
		return m_pObjectRef;
	}

	CREATE_SET_GET( ContactSolver* , m_pContactSolver , ContactSolver );
	CREATE_SET_GET( bool , m_isActive , Active );

private:
	CCNode*					m_pObjectRef;
};



#endif //__PHYSIC_OBJECT_H__